1. Field of the Invention
The present invention is in the area of computer-telephony-integrated (CTI) telephone systems including Internet Protocol Network Telephony (IPNT) systems, and pertains more particularly to methods for expressing and implementing intelligent interaction routing across disparate telephony networks and systems using a simple XML-based markup language.
2. Discussion of the State of the Art
In the field of telephony communication, there have been many technological advances in technology over the years that have contributed to more efficient use of telephone communication within hosted call-center environments. Most of these improvements involve integrating the telephones and switching systems in such call centers with computer hardware and software adapted for, among other things, better routing of telephone calls, faster delivery of telephone calls and associated information, and improved service with regards to client satisfaction. Such computer-enhanced telephony is known in the art as computer-telephony integration (CTI).
In a computer-telephony-integrated (CTI) enhanced call center, telephones at agent stations are connected to a central telephony switching apparatus, such as an automatic call distributor (ACD) switch or a private branch exchange (PBX). The agent stations may also be equipped with computer terminals such as personal computer/video display units (PC/VDUs) so that agents manning such stations may have access to stored data as well as being linked to incoming callers by telephone equipment. Such stations may be interconnected through the PC/VDUs by a local area network (LAN). One or more data or transaction servers may also be connected to the LAN that interconnects agent stations. The LAN is, in turn, connected to the CTI processor, which is connected to the call switching apparatus of the call center.
A typical data network telephony (DNT) system uses shared bandwidth instead of a dedicated connection. Recent improvements to available technologies associated with the transmission and reception of data packets during real-time DNT communication have made it possible to successfully add DNT principally Internet Protocol Network Telephony (IPNT) capabilities to existing CTI call centers.
Companies have, for some time, experimented with various forms of integration between the older connection oriented switched telephony (COST) systems and newer Internet Protocol Network Telephony (IPNT) systems. For example, by enhancing, data servers, interactive voice response units (IVR), agent-connecting networks, and so on, with the capability of understanding Internet protocol, data arriving from either network may be integrated requiring less equipment and lines to facilitate processing, storage, and transfer of data.
In a network system known to the inventors and described with reference to Ser. No. 09/024,923, listed in the Cross-Reference section, a computerized telephony bridge unit maintained in the network has a Data Network Telephony (DNT) Port and a Connection Oriented/Switched Telephony (COST) trunk port. Each port is associated with circuitry for receiving and placing calls in the data format required by the connected networks. The bridge unit further comprises conversion circuitry for converting data dynamically between network protocols compatible with each connected network.
In this system, control routines are provided and are executable on the computerized bridge unit. The control routines are adapted to receive a first call from one of the COST or DNT networks, to place a call associated with the received call on the network other than the network on which the call is received, and to dynamically convert data between a call connected at one port and a call connected at the other port. The data network can be the Internet, and the COST network can be any publicly or privately switched dedicated-connection-oriented telephone network.
One with skill in the art will recognize that there are several Internet protocols, CTI protocols, and Device protocols, which have been proposed and adopted as standard or semi-standard protocols for streamlining integrated telephony between disparate networks. For example, an Internet protocol known in the art as H.323 is a standard approved by the International Telecommunication Union (ITU) that defines how audiovisual conferencing data is transmitted across networks. In theory, H.323 should enable users to participate in a same telephony conference even though they are using different videoconferencing applications. Although most videoconferencing vendors maintain that their products conform to H.323, such adherence may not actually produce seamless inter-operability.
Telcordia™ developed another known protocol termed Media Gateway Control Protocol (MGCP) in cooperation with Level 3 Communications™. This protocol is an internal protocol, which was developed to work with existing signaling protocols such as H.323, SIP or SS7. One reason new standards are being developed is because of the growing popularity of what is termed Voice over IP (VoIP).
The inventors know a protocol representing a basic telephony call model as Computer-Supported Telephony Applications (CSTA). ECMA is the international standards organization that defined the CSTA resource model and protocol. To connect a telephone system to Computer Telephony (CT) Connect, a telephone system vendor must provide a CSTA-compliant, ASN.1 encoded message flow. This can be provided across a number of different transports, but TCP/IP is becoming the most popular.
Although the developed protocols do much to facilitate seamless communication between networks adding some third party call control, it becomes apparent that third party control over telephony practiced in VoIP applications is severely limited. Arguably, a significant challenge is providing consistent call model representation both at the call control entity (CCE) and the switching entity (SWE). Any discrepancy between an actual call model implemented by a switch vendor and its reverse-engineered replica in CTI control software causes loss of coherency between the actual switching state and its image in the control software.
The inventor is aware of a system, referenced above as U.S. patent application Ser. No. 09/827,608, for providing third-party call control in a telecommunications environment. The system comprises a call-control mechanism for providing service logic and routing intelligence, a control application for providing service-logic description and command instruction for implementing third-party controlled call connections, a call-switching mechanism for providing an abstract state of switching matrix and for commutation of external and internal call legs, and a commutation application for making and breaking call connections according to commands sent from the control application. The call-control mechanism, using the control application, sends primitive text commands, which may be in the form of an Extensible Markup Language (XML) to the call-switching mechanism, which utilizing the commutation application, receives, reads and implements the text commands containing all of the service logic and instructions required to successfully construct call external and internal connection legs and wherein the call-switching mechanism by virtue of the commutation application sends notification of success or failure regarding implementation of received commands back to the control application.
While the above system provides a solution to the so-far-mentioned problems of representing accurate call models for integrated telephony platforms, it only addresses using XML-based language to achieve system communication of the more simple CTI call-control functions and call states as are currently handled using call control XML (CCXML) and VoiceXML (VXML), both of which are recommended by the World Wide Web Consortium.
In actual practice, communication center (CC) telephony applications are much more complex in scope and represent much more than simple call control commands and Interactive Voice Response (IVR) system scripting. A typical CC application today may include interactive voice response (IVR) scripts, intelligent routing strategies, various call control scenarios, agent scripting, statistical reporting, interaction workflow processing, agent level routing, customer profile-related routing, outbound call support, and multimedia interactions.
In current art, the above-mentioned components may be distributed over different servers and may be built with the aid of different tools and in different languages. Therefore, a CC application designer must work with many different tools to create one CC application. Such a multi-tool effort requires a very high level of expertise and effort.
In current art, achieving uniformity, platform independence, vendor neutrality, and simplification in creation of business applications is facilitated through implementation of Extensible Markup Language (XML) and related technologies. XML is increasingly used as a basis for building applications in different vertical businesses. Good examples of using XML in voice processing are the World Wide Web Consortium-recommended VXML and CCXML. However, VXML and CCXML allow only limited call control in CC applications, capturing only IVR scripting and simple call control routines. VXML and CCXML do not address other important aspects of CC applications such interaction workflow, interaction routing, agent involvement such as agent scripting and agent selection, reporting, customer profiling, outbound calling, and multimedia interaction.
The most complicated part of the design process may be writing a routing strategy. A writing strategy defines a target of an interaction based on business data related to interaction, time and data, application-specific data, agent skills, and so on. Moreover, a routing strategy may perform workflow functionality such as sending an interaction to an IVR system for collecting additional data.
What is clearly needed in the art is a method and system for an enhanced and expanded VXML and CCXML that can express routing strategies in terms of XML-based notation thereby simplifying and streamlining the job of application design and enabling creation of reusable modules.